/*
 * XML Type:  InvestmentStatementRequest
 * Namespace: http://ofx.net/types/2003/04
 * Java type: net.ofx.types.x2003.x04.InvestmentStatementRequest
 *
 * Automatically generated - do not modify.
 */
package net.ofx.types.x2003.x04.impl;
/**
 * An XML InvestmentStatementRequest(@http://ofx.net/types/2003/04).
 *
 * This is a complex type.
 */
public class InvestmentStatementRequestImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements net.ofx.types.x2003.x04.InvestmentStatementRequest
{
    
    public InvestmentStatementRequestImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName INVACCTFROM$0 = 
        new javax.xml.namespace.QName("", "INVACCTFROM");
    private static final javax.xml.namespace.QName INCTRAN$2 = 
        new javax.xml.namespace.QName("", "INCTRAN");
    private static final javax.xml.namespace.QName INCOO$4 = 
        new javax.xml.namespace.QName("", "INCOO");
    private static final javax.xml.namespace.QName INCPOS$6 = 
        new javax.xml.namespace.QName("", "INCPOS");
    private static final javax.xml.namespace.QName INCBAL$8 = 
        new javax.xml.namespace.QName("", "INCBAL");
    private static final javax.xml.namespace.QName INC401K$10 = 
        new javax.xml.namespace.QName("", "INC401K");
    private static final javax.xml.namespace.QName INC401KBAL$12 = 
        new javax.xml.namespace.QName("", "INC401KBAL");
    
    
    /**
     * Gets the "INVACCTFROM" element
     */
    public net.ofx.types.x2003.x04.InvestmentAccount getINVACCTFROM()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InvestmentAccount target = null;
            target = (net.ofx.types.x2003.x04.InvestmentAccount)get_store().find_element_user(INVACCTFROM$0, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * Sets the "INVACCTFROM" element
     */
    public void setINVACCTFROM(net.ofx.types.x2003.x04.InvestmentAccount invacctfrom)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InvestmentAccount target = null;
            target = (net.ofx.types.x2003.x04.InvestmentAccount)get_store().find_element_user(INVACCTFROM$0, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.InvestmentAccount)get_store().add_element_user(INVACCTFROM$0);
            }
            target.set(invacctfrom);
        }
    }
    
    /**
     * Appends and returns a new empty "INVACCTFROM" element
     */
    public net.ofx.types.x2003.x04.InvestmentAccount addNewINVACCTFROM()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InvestmentAccount target = null;
            target = (net.ofx.types.x2003.x04.InvestmentAccount)get_store().add_element_user(INVACCTFROM$0);
            return target;
        }
    }
    
    /**
     * Gets the "INCTRAN" element
     */
    public net.ofx.types.x2003.x04.IncTransaction getINCTRAN()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.IncTransaction target = null;
            target = (net.ofx.types.x2003.x04.IncTransaction)get_store().find_element_user(INCTRAN$2, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * Sets the "INCTRAN" element
     */
    public void setINCTRAN(net.ofx.types.x2003.x04.IncTransaction inctran)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.IncTransaction target = null;
            target = (net.ofx.types.x2003.x04.IncTransaction)get_store().find_element_user(INCTRAN$2, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.IncTransaction)get_store().add_element_user(INCTRAN$2);
            }
            target.set(inctran);
        }
    }
    
    /**
     * Appends and returns a new empty "INCTRAN" element
     */
    public net.ofx.types.x2003.x04.IncTransaction addNewINCTRAN()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.IncTransaction target = null;
            target = (net.ofx.types.x2003.x04.IncTransaction)get_store().add_element_user(INCTRAN$2);
            return target;
        }
    }
    
    /**
     * Gets the "INCOO" element
     */
    public net.ofx.types.x2003.x04.BooleanType.Enum getINCOO()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(INCOO$4, 0);
            if (target == null)
            {
                return null;
            }
            return (net.ofx.types.x2003.x04.BooleanType.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "INCOO" element
     */
    public net.ofx.types.x2003.x04.BooleanType xgetINCOO()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.BooleanType target = null;
            target = (net.ofx.types.x2003.x04.BooleanType)get_store().find_element_user(INCOO$4, 0);
            return target;
        }
    }
    
    /**
     * Sets the "INCOO" element
     */
    public void setINCOO(net.ofx.types.x2003.x04.BooleanType.Enum incoo)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(INCOO$4, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(INCOO$4);
            }
            target.setEnumValue(incoo);
        }
    }
    
    /**
     * Sets (as xml) the "INCOO" element
     */
    public void xsetINCOO(net.ofx.types.x2003.x04.BooleanType incoo)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.BooleanType target = null;
            target = (net.ofx.types.x2003.x04.BooleanType)get_store().find_element_user(INCOO$4, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.BooleanType)get_store().add_element_user(INCOO$4);
            }
            target.set(incoo);
        }
    }
    
    /**
     * Gets the "INCPOS" element
     */
    public net.ofx.types.x2003.x04.IncPosition getINCPOS()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.IncPosition target = null;
            target = (net.ofx.types.x2003.x04.IncPosition)get_store().find_element_user(INCPOS$6, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * Sets the "INCPOS" element
     */
    public void setINCPOS(net.ofx.types.x2003.x04.IncPosition incpos)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.IncPosition target = null;
            target = (net.ofx.types.x2003.x04.IncPosition)get_store().find_element_user(INCPOS$6, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.IncPosition)get_store().add_element_user(INCPOS$6);
            }
            target.set(incpos);
        }
    }
    
    /**
     * Appends and returns a new empty "INCPOS" element
     */
    public net.ofx.types.x2003.x04.IncPosition addNewINCPOS()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.IncPosition target = null;
            target = (net.ofx.types.x2003.x04.IncPosition)get_store().add_element_user(INCPOS$6);
            return target;
        }
    }
    
    /**
     * Gets the "INCBAL" element
     */
    public net.ofx.types.x2003.x04.BooleanType.Enum getINCBAL()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(INCBAL$8, 0);
            if (target == null)
            {
                return null;
            }
            return (net.ofx.types.x2003.x04.BooleanType.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "INCBAL" element
     */
    public net.ofx.types.x2003.x04.BooleanType xgetINCBAL()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.BooleanType target = null;
            target = (net.ofx.types.x2003.x04.BooleanType)get_store().find_element_user(INCBAL$8, 0);
            return target;
        }
    }
    
    /**
     * Sets the "INCBAL" element
     */
    public void setINCBAL(net.ofx.types.x2003.x04.BooleanType.Enum incbal)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(INCBAL$8, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(INCBAL$8);
            }
            target.setEnumValue(incbal);
        }
    }
    
    /**
     * Sets (as xml) the "INCBAL" element
     */
    public void xsetINCBAL(net.ofx.types.x2003.x04.BooleanType incbal)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.BooleanType target = null;
            target = (net.ofx.types.x2003.x04.BooleanType)get_store().find_element_user(INCBAL$8, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.BooleanType)get_store().add_element_user(INCBAL$8);
            }
            target.set(incbal);
        }
    }
    
    /**
     * Gets the "INC401K" element
     */
    public net.ofx.types.x2003.x04.BooleanType.Enum getINC401K()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(INC401K$10, 0);
            if (target == null)
            {
                return null;
            }
            return (net.ofx.types.x2003.x04.BooleanType.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "INC401K" element
     */
    public net.ofx.types.x2003.x04.BooleanType xgetINC401K()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.BooleanType target = null;
            target = (net.ofx.types.x2003.x04.BooleanType)get_store().find_element_user(INC401K$10, 0);
            return target;
        }
    }
    
    /**
     * True if has "INC401K" element
     */
    public boolean isSetINC401K()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(INC401K$10) != 0;
        }
    }
    
    /**
     * Sets the "INC401K" element
     */
    public void setINC401K(net.ofx.types.x2003.x04.BooleanType.Enum inc401K)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(INC401K$10, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(INC401K$10);
            }
            target.setEnumValue(inc401K);
        }
    }
    
    /**
     * Sets (as xml) the "INC401K" element
     */
    public void xsetINC401K(net.ofx.types.x2003.x04.BooleanType inc401K)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.BooleanType target = null;
            target = (net.ofx.types.x2003.x04.BooleanType)get_store().find_element_user(INC401K$10, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.BooleanType)get_store().add_element_user(INC401K$10);
            }
            target.set(inc401K);
        }
    }
    
    /**
     * Unsets the "INC401K" element
     */
    public void unsetINC401K()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(INC401K$10, 0);
        }
    }
    
    /**
     * Gets the "INC401KBAL" element
     */
    public net.ofx.types.x2003.x04.BooleanType.Enum getINC401KBAL()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(INC401KBAL$12, 0);
            if (target == null)
            {
                return null;
            }
            return (net.ofx.types.x2003.x04.BooleanType.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "INC401KBAL" element
     */
    public net.ofx.types.x2003.x04.BooleanType xgetINC401KBAL()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.BooleanType target = null;
            target = (net.ofx.types.x2003.x04.BooleanType)get_store().find_element_user(INC401KBAL$12, 0);
            return target;
        }
    }
    
    /**
     * True if has "INC401KBAL" element
     */
    public boolean isSetINC401KBAL()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(INC401KBAL$12) != 0;
        }
    }
    
    /**
     * Sets the "INC401KBAL" element
     */
    public void setINC401KBAL(net.ofx.types.x2003.x04.BooleanType.Enum inc401KBAL)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(INC401KBAL$12, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(INC401KBAL$12);
            }
            target.setEnumValue(inc401KBAL);
        }
    }
    
    /**
     * Sets (as xml) the "INC401KBAL" element
     */
    public void xsetINC401KBAL(net.ofx.types.x2003.x04.BooleanType inc401KBAL)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.BooleanType target = null;
            target = (net.ofx.types.x2003.x04.BooleanType)get_store().find_element_user(INC401KBAL$12, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.BooleanType)get_store().add_element_user(INC401KBAL$12);
            }
            target.set(inc401KBAL);
        }
    }
    
    /**
     * Unsets the "INC401KBAL" element
     */
    public void unsetINC401KBAL()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(INC401KBAL$12, 0);
        }
    }
}
